package jmine.tec.aom.services;

import jmine.tec.aom.services.include.PropertyValueService;
import jmine.tec.services.runner.BaseServiceBuilder;

/**
 * {@link PropertyValueService} builder for test purposes.
 * 
 * @author jrenaut
 */
public class PropertyValueServiceBuilder extends BaseServiceBuilder {

    public static PropertyValueServiceBuilder propertyValue() {
        return new PropertyValueServiceBuilder();
    }

    public PropertyValueServiceBuilder() {
        super(PropertyValueService.class);
    }

    public PropertyValueServiceBuilder id(Long databaseId) {
        return (PropertyValueServiceBuilder) this.with(PropertyValueService.DATABASE_ID, databaseId);
    }

    public PropertyValueServiceBuilder property(String property) {
        return (PropertyValueServiceBuilder) this.with(PropertyValueService.PROPERTY, property);
    }

    public PropertyValueServiceBuilder entity(String entity) {
        return (PropertyValueServiceBuilder) this.with(PropertyValueService.PROPERTIZED, entity);
    }

    public PropertyValueServiceBuilder locked(boolean locked) {
        return (PropertyValueServiceBuilder) this.with(PropertyValueService.LOCKED, locked);
    }

    public PropertyValueServiceBuilder value(String value) {
        return (PropertyValueServiceBuilder) this.with(PropertyValueService.VALUE, value);
    }
}
